﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

//Them thu vien
using KaraokeManagementDTO;
using System.Data.OleDb;
using System.Data;

namespace KaraokeManagementDAO
{
    public class VaiTroDAO : DataProvider
    {
        public Boolean themVaiTro(VaiTroDTO dto)
        {
            List<OleDbParameter> para = new List<OleDbParameter>();

            //Câu truy vấn thêm dữ liệu
            String query = "insert into VaiTro(TenVaiTro) values(@TenVaiTro)";

            para.Add(new OleDbParameter("@TenVaiTro", dto.TenVaiTro));

            if (ExecuteNoneQuery(query, para) < 0)
            {
                return false;
            }

            return true;
        }

        public Boolean xoaVaiTro(int MaVaiTro)
        {
            List<OleDbParameter> para = new List<OleDbParameter>();

            //Câu truy vấn xóa dữ liệu
            String query = "delete from VaiTro where ID=@MaVaiTro";
            para.Add(new OleDbParameter("@ID", MaVaiTro));

            if (ExecuteNoneQuery(query, para) < 0)
            {
                return false;
            }

            return true;
        }

        public Boolean CapNhatVaiTro(VaiTroDTO dto)
        {
            List<OleDbParameter> para = new List<OleDbParameter>();

            //Câu truy vấn cập nhật dữ liệu
            String query = "update VaiTro set TenVaiTro=@TenVaiTro where ID=@ID";
            para.Add(new OleDbParameter("@TenVaiTro", dto.TenVaiTro));

            if (ExecuteNoneQuery(query, para) < 0)
            {
                return false;
            }

            return true;
        }

        public VaiTroDTO layThongTinVaiTro(int MaVaiTro)
        {
            VaiTroDTO vt = new VaiTroDTO();

            List<OleDbParameter> para = new List<OleDbParameter>();

            //Câu truy vấn lấy dữ liệu
            String query = "select * from VaiTro where ID=@MaVaiTro";
            para.Add(new OleDbParameter("@MaVaiTro", MaVaiTro));

            //DataTable
            DataTable dt = new DataTable();
            dt = ExecuteQuery(query, para);

            if (dt.Rows.Count == 0)
                return null;

            DataRow row = dt.Rows[0];

            vt.ID = int.Parse(row["ID"].ToString());
            vt.TenVaiTro = row["TenVaiTro"].ToString();


            return vt;
        }

        public List<VaiTroDTO> layDanhSachVaiTro()
        {
            List<VaiTroDTO> listVaiTro = new List<VaiTroDTO>();

            List<OleDbParameter> para = new List<OleDbParameter>();

            //Câu truy vấn lấy dữ liệu
            String query = "select * from VaiTro";


            //DataTable
            DataTable dt = new DataTable();
            dt = ExecuteQuery(query, para);

            if (dt.Rows.Count == 0)
                return null;

            foreach (DataRow row in dt.Rows)
            {
                VaiTroDTO dto = new VaiTroDTO();

                dto.ID = int.Parse(row["ID"].ToString());
                dto.TenVaiTro = row["TenVaiTro"].ToString();
                listVaiTro.Add(dto);
            }

            return listVaiTro;
        }
    }
}
